<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
   <title>Concurrency/Background Operation Details</title>
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
</head>
<body text="#000000" bgcolor="#FFFFFF">
&nbsp;
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
  <tr> 
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica"><font color="#FFFFFF">Concurrency/Background 
      Operation Details</font></font></b></td>
  </tr>
  <tr> 
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td WIDTH="98%"> 
      <p><b>Resources</b></p>
      Platform Plug-in Developer's Guide:
      <ul>
      	<li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/guide/runtime_jobs.htm">Runtime concurrency infrastructure API</a>
      	<li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/guide/workbench_jobs.htm">Platform UI concurrency and background progress API</a>
      </ul>
      <p><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/runtime/jobs/package-summary.html">org.eclipse.core.runtime.jobs</a> API Javadoc
      <p><a href="http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html">On the Job: The Eclipse Jobs API</a>. 
      Eclipse.org article on concurrency and responsive UI infrastructure.
      <p><a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.examples.job/">Job examples plugin</a>.
      Example plug-in demonstrating various features of jobs and the progress UI.
      <p><a href="../../documents/Responsive%20UIs.ppt">EclipseCon concurrency talk</a>.  
      Slides from a talk at EclipseCon 2004 on concurrency and responsiveness.
      <p><a href="../../documents/steps_to_responsiveness.ppt">The road to responsiveness</a>.  
      Slides from another talk on concurrency and responsiveness.
      <p><a href="../../documents/plan_concurrency_modal_progress.html">Showing Modal Progress in Eclipse 3.0</a> [Updated June 23, 2004].  
      A document on how to migrate existing code that shows modal progress using
      <tt>ProgressMonitorDialog</tt> or <tt>BusyIndicator</tt>.
      <p>
      DeveloperWorks articles on concurrency in Java:
      <ul>
		<li><a href="http://www-106.ibm.com/developerworks/java/library/j-thread.html">Introduction to Java Threads</a>
      	<li><a href="http://www-106.ibm.com/developerworks/java/library/j-threads1.html">Synchronization is not the enemy</a>
		<li><a href="http://www-106.ibm.com/developerworks/java/library/j-threads2.html">Reducing contention</a>
		<li><a href="http://www-106.ibm.com/developerworks/java/library/j-threads3.html">Sometimes it's best not to share</a>
	  </ul>
    </td>
  </tr>
  <tr> 
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td WIDTH="98%"> 
      <p><b>Plans and Proposals</b></p>
      <p><a href="../../documents/plan_concurrency_intro.html">Overview of the problems</a>
      we are seeking to address.  This document also outlines an implementation schedule and plan.</p>
      <p><a href="../../documents/plan_concurrency_listeners.html">Proposed changes to builders and listeners</a>.  
      Describes the plan to make resource change listeners and incremental project
      builders run concurrently.  Includes an implementation and release schedule.</p>
      <p><a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/docs/online/team3.0/progress_support.html">
      Showing progress in Eclipse 3.0</a>.  Describes remaining issues in 3.0 M4 around
      how progress is shown for modal and non-modal operations.
      <p><a href="../../documents/plan_concurrency_issues.html">Remaining Eclipse 3.0 responsiveness issues</a>.  
      Describes the remaining responsiveness work for the 3.0 M5 milestone.
    </td>
  </tr>
  <tr> 
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td> 
      <p><b>Progress updates</b> </p>
      <p>April 30, 2004 - Significant changes have been made to the UI presentation
      of jobs.  A new class of "user" initiated jobs are now shown in a progress dialog
      by default, and moved to the background on request. The progress view was
      replaced with a new implementation using native progress indicators. Jobs in
      this view can also have actions associated with them for executing when the
      job completes. An affordance on the workbench window status line indicates
      when there is activity in the progress view, and when there are interesting results
      being shown.
      </p>
      <p>January 26, 2004 - Job and UI API are feature complete. Remaining work
      is to improve the UI experience, fix bugs, and write documentation.
      </p>
      <p>October 20, 2003 (M4 milestone) - Most existing background activity has
      been moved to use the jobs API.  New feature work (such as quick diff) is also
      using jobs extensively.  The UI now gives feedback when a modal operation
      is blocked due to conflicts with a background operation, and the user is able to
      cancel when in this state. A dynamic team has been setup to address the remaining
      responsiveness issues for the M5 milestone.
      </p>
      <p>
      July 14, 2003 - Several clients are now using the job manager for background 
      activity, including the UI decorator and various debug threads.  The CVS/Team
      component is using jobs in a "work in progress" mode that has to be enabled
      from preference pages.  This includes background filling of the repository view,
      background update of live sync view, and background CVS operations such as checkout.
      The UI progress indicator needs to be manually enabled by hard-coding the preference
      "showProgressIndicator=true" in the org.eclipse.ui.workbench preference store.
      In branch "Bug_36957", org.eclipse.core.resources now uses background jobs for
      building, resource change notification, and workspace snapshot (incremental save).
      Search and JDT core components are actively working on moving to job manager API.
      <p>
      June 24, 2003 - The additional support from the Workbench team for the responsive UI work 
		has been released to HEAD. It appears in Nightly builds starting with N20030624 and will be 
		included in the July 1 integration build.  Many bug fixes and API refinements have been
		released to the job manager infrastructure in org.eclipse.core.runtime in HEAD.</p>
      <p>
      June 4, 2003 - Implementation of core job manager API has been released to the 3.0 HEAD stream.
      This API is still experimental, and is not currently used by any components in the
      platform.  There is ongoing work in branch "Bug_36957" in both core and UI
      that is beginning to use this API.</p>
      <p>&nbsp;</p>
    </td>
  </tr>
</table>

</body>
</html>
